﻿
Imports System.Data
Imports EVOLTA.Promocion.Bl.Be
Imports EVOLTA.Promocion.Bl.Bc

Partial Class reportes_ReporteFacturaBCP
    Inherits System.Web.UI.Page

#Region "Instancias a las Capas de Entidad y Negocio"

    Dim objnegProyecto As New EVOLTA.Promocion.Bl.Bc.Rproyecto
    Dim objnegSeparacionVenta As New EVOLTA.Promocion.Bl.Bc.RseparacionVenta

#End Region

#Region "Variables Globales"
    Public dtbInformacion As New DataTable

    '  Declaración de variables para los totales
    Public dblTotalPrecio As Double = 0
    Public dblTotalCtaInicialRecib As Double = 0
    Public dblTotalCtaInicialPorRecib As Double = 0
    Public dblTotalMayorPagoRecib As Double = 0
    Public dblTotalMayorPagoPorRecib As Double = 0
    Public dblTotalCreHipPorRecOtrBco As Double = 0
    Public dblTotalHipRecibidas As Double = 0
    Public dblTotalHipPorRecibirBcp As Double = 0

#End Region

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Not Page.IsPostBack) And (Request.Params("__EVENTTARGET") Is Nothing) Then
            Me.Cargar_proyectos()

            ' Reinicializando controles
            Me.lblSubTitulo2.ForeColor = Drawing.Color.Red
            Me.lblSubTitulo3.Text = String.Empty
            Me.lnkBtnExportar.Enabled = False
        Else
            If Me.ddlProyecto.SelectedItem.Value.ToString.Trim.Equals("%") Then
                Me.lblSubTitulo2.Text = String.Empty
                Me.lnkBtnExportar.Enabled = False
                Me.lblSubTitulo3.Text = "Para realizar una consulta debe de seleccionar un PROYECTO."
                Me.lblSubTitulo3.ForeColor = Drawing.Color.Red
            Else
                Me.lnkBtnExportar.Enabled = True
                Me.lblSubTitulo2.ForeColor = Drawing.Color.Black
                Me.lblSubTitulo3.ForeColor = Drawing.Color.Black

                Me.lblSubTitulo2.Text = "Información correspondiente al proyecto " & Me.ddlProyecto.SelectedItem.Text

                Dim strSubtitulo3 As String = String.Empty

                If Not Me.txtNroDocumento.Text.Trim.Equals(String.Empty) Then
                    strSubtitulo3 = "Filtrado por N° Documento del Cliente: " & Me.txtNroDocumento.Text.Trim()
                End If

                If Not Me.txtNombreCliente.Text.Trim.Equals(String.Empty) Then
                    If Not Me.txtNroDocumento.Text.Trim.Equals(String.Empty) Then
                        strSubtitulo3 = strSubtitulo3 & " | "
                    Else
                        strSubtitulo3 = "Filtrado por "
                    End If

                    strSubtitulo3 = strSubtitulo3 & "Nombre del Cliente: " & Me.txtNombreCliente.Text.Trim.ToUpper()
                End If

                Me.lblSubTitulo3.Text = strSubtitulo3

                Me.cargarInformacion()
            End If

            ViewState("vst_subtitulo_2") = Me.lblSubTitulo2.Text
            ViewState("vst_subtitulo_3") = Me.lblSubTitulo3.Text
        End If
    End Sub

    Private Sub Cargar_proyectos()
        Dim dtbProyectos As New DataTable
        dtbProyectos = objnegProyecto.negCargar_proyectos(Me.Master.descEmpresa)

        Me.ddlProyecto.DataSource = dtbProyectos
        Me.ddlProyecto.DataTextField = "descProyecto"
        Me.ddlProyecto.DataValueField = "Id"
        Me.ddlProyecto.DataBind()
    End Sub

    Private Sub cargarInformacion()
        Dim strProyectoId As Integer = Me.ddlProyecto.SelectedItem.Value.ToString()
        Dim strNroDocumento As String = Me.txtNroDocumento.Text.Trim()
        Dim strNombreCliente As String = Me.txtNombreCliente.Text.Trim()

        Me.dtbInformacion = objnegSeparacionVenta.negCargar_reporte_BCP(Me.Master.descEmpresa, strProyectoId, strNroDocumento, strNombreCliente)

        Dim dvwInformacion As New DataView
        dvwInformacion = Me.dtbInformacion.DefaultView

        If Me.dtbInformacion.Rows.Count > 0 Then
            'Session("ssn_Exportar") = dvwInformacion.ToTable

            Me.rptReporteGlobal.DataSource = Me.dtbInformacion
            Me.rptReporteGlobal.DataBind()

            ' Líneas de código para hacer posible la exportación
            Dim dtbExportar As New DataTable
            dtbExportar.Columns.Add("PROYECTO")
            dtbExportar.Columns.Add("ETAPA")
            dtbExportar.Columns.Add("EDIFICIO O BLOCK")
            dtbExportar.Columns.Add("DPTO")
            dtbExportar.Columns.Add("EST1")
            dtbExportar.Columns.Add("EST2")
            dtbExportar.Columns.Add("DEPO")
            dtbExportar.Columns.Add("NOMBRE COMPRADOR")
            dtbExportar.Columns.Add("DNI")
            dtbExportar.Columns.Add("PRECIO")
            dtbExportar.Columns.Add("CTA INICIAL RECIB")
            dtbExportar.Columns.Add("CTA INICIAL POR RECIB")
            dtbExportar.Columns.Add("MAYOR PAGO RECIB")
            dtbExportar.Columns.Add("MAYOR PAGO POR RECIB")
            dtbExportar.Columns.Add("CRE HIP POR REC OTR BCO")
            dtbExportar.Columns.Add("CRE HIP RECIBIDAS")
            dtbExportar.Columns.Add("CRE HIP POR RECIBIR BCP")
            dtbExportar.Columns.Add("NOMBRE OTRO BANCO")
            dtbExportar.Columns.Add("ESTADOS FONDOS CREDITOS")
            dtbExportar.Columns.Add("DOCUM ENTREGADA BCP")
            dtbExportar.Columns.Add("CARTAS FIANZAS")
            dtbExportar.Columns.Add("FECHA DESEMBOLSO")
            dtbExportar.Columns.Add("FECHA ABONO")
            dtbExportar.Columns.Add("SISTEMA CREDITO")
            dtbExportar.Columns.Add("CUOTAS AHORRADAS")
            dtbExportar.Columns.Add("SITUACION CREDITO")
            dtbExportar.Columns.Add("MINUTA COMPRA VENTA")
            dtbExportar.Columns.Add("CLIENTES ESPERA DESEMB")
            dtbExportar.Columns.Add("IDSEPARACIONVENTA")

            Dim drwFila1 As DataRow
            For i As Integer = 0 To Me.dtbInformacion.Rows.Count - 1
                drwFila1 = dtbExportar.NewRow()
                drwFila1("PROYECTO") = Me.dtbInformacion.Rows(i)("PROYECTO").ToString()
                drwFila1("ETAPA") = Me.dtbInformacion.Rows(i)("ETAPA").ToString()
                drwFila1("EDIFICIO O BLOCK") = Me.dtbInformacion.Rows(i)("EDIFICIO O BLOCK").ToString()
                drwFila1("DPTO") = Me.dtbInformacion.Rows(i)("DPTO").ToString()
                drwFila1("EST1") = Me.dtbInformacion.Rows(i)("EST1").ToString()
                drwFila1("EST2") = Me.dtbInformacion.Rows(i)("EST2").ToString()
                drwFila1("DEPO") = Me.dtbInformacion.Rows(i)("DEPO").ToString()
                drwFila1("NOMBRE COMPRADOR") = Me.dtbInformacion.Rows(i)("NOMBRE COMPRADOR").ToString()
                drwFila1("DNI") = Me.dtbInformacion.Rows(i)("DNI").ToString()
                drwFila1("PRECIO") = Format(CType(Me.dtbInformacion.Rows(i)("PRECIO").ToString(), Double), "#,##0.00")
                drwFila1("CTA INICIAL RECIB") = Format(CType(Me.dtbInformacion.Rows(i)("CTA INICIAL RECIB").ToString(), Double), "#,##0.00")
                drwFila1("CTA INICIAL POR RECIB") = Format(CType(Me.dtbInformacion.Rows(i)("CTA INICIAL POR RECIB").ToString(), Double), "#,##0.00")
                drwFila1("MAYOR PAGO RECIB") = Format(CType(Me.dtbInformacion.Rows(i)("MAYOR PAGO RECIB").ToString(), Double), "#,##0.00")
                drwFila1("MAYOR PAGO POR RECIB") = Format(CType(Me.dtbInformacion.Rows(i)("MAYOR PAGO POR RECIB").ToString(), Double), "#,##0.00")
                drwFila1("CRE HIP POR REC OTR BCO") = Format(CType(Me.dtbInformacion.Rows(i)("CRE HIP POR REC OTR BCO").ToString(), Double), "#,##0.00")
                drwFila1("CRE HIP RECIBIDAS") = Format(CType(Me.dtbInformacion.Rows(i)("CRE HIP RECIBIDAS").ToString(), Double), "#,##0.00")
                drwFila1("CRE HIP POR RECIBIR BCP") = Format(CType(Me.dtbInformacion.Rows(i)("CRE HIP POR RECIBIR BCP").ToString(), Double), "#,##0.00")
                drwFila1("NOMBRE OTRO BANCO") = Me.dtbInformacion.Rows(i)("NOMBRE OTRO BANCO").ToString()
                drwFila1("ESTADOS FONDOS CREDITOS") = Me.dtbInformacion.Rows(i)("ESTADOS FONDOS CREDITOS").ToString()
                drwFila1("DOCUM ENTREGADA BCP") = Me.dtbInformacion.Rows(i)("DOCUM ENTREGADA BCP").ToString()
                drwFila1("CARTAS FIANZAS") = Me.dtbInformacion.Rows(i)("CARTAS FIANZAS").ToString()
                drwFila1("FECHA DESEMBOLSO") = Me.dtbInformacion.Rows(i)("FECHA DESEMBOLSO").ToString()
                drwFila1("FECHA ABONO") = Me.dtbInformacion.Rows(i)("FECHA ABONO").ToString()
                drwFila1("SISTEMA CREDITO") = Me.dtbInformacion.Rows(i)("SISTEMA CREDITO").ToString()
                drwFila1("CUOTAS AHORRADAS") = Me.dtbInformacion.Rows(i)("CUOTAS AHORRADAS").ToString()
                drwFila1("SITUACION CREDITO") = Me.dtbInformacion.Rows(i)("SITUACION CREDITO").ToString()
                drwFila1("MINUTA COMPRA VENTA") = Me.dtbInformacion.Rows(i)("MINUTA COMPRA VENTA").ToString()
                drwFila1("CLIENTES ESPERA DESEMB") = Me.dtbInformacion.Rows(i)("CLIENTES ESPERA DESEMB").ToString()
                drwFila1("IDSEPARACIONVENTA") = Me.dtbInformacion.Rows(i)("IDSEPARACIONVENTA").ToString()
                'drwFila1("OBS") = Me.dtbInformacion.Rows(i)("OBS").ToString()
                dtbExportar.Rows.Add(drwFila1)
            Next

            Dim dtbExportarTotal As New DataTable
            dtbExportarTotal.Columns.Add("Total General")
            dtbExportarTotal.Columns.Add("PRECIO")
            dtbExportarTotal.Columns.Add("CTA INICIAL RECIB")
            dtbExportarTotal.Columns.Add("CTA INICIAL POR RECIB")
            dtbExportarTotal.Columns.Add("MAYOR PAGO RECIB")
            dtbExportarTotal.Columns.Add("MAYOR PAGO POR RECIB")
            dtbExportarTotal.Columns.Add("CRE HIP POR REC OTR BCO")
            dtbExportarTotal.Columns.Add("CRE HIP RECIBIDAS")
            dtbExportarTotal.Columns.Add("CRE HIP POR RECIBIR BCP")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")
            dtbExportarTotal.Columns.Add("")

            Dim drwFila As DataRow
            For i As Integer = 0 To Me.dtbInformacion.Rows.Count - 1                
                dblTotalPrecio += CType(Me.dtbInformacion.Rows(i)("PRECIO").ToString(), Double)
                dblTotalCtaInicialRecib += CType(Me.dtbInformacion.Rows(i)("CTA INICIAL RECIB").ToString(), Double)
                dblTotalCtaInicialPorRecib += CType(Me.dtbInformacion.Rows(i)("CTA INICIAL POR RECIB").ToString(), Double)
                dblTotalMayorPagoRecib += CType(Me.dtbInformacion.Rows(i)("MAYOR PAGO RECIB").ToString(), Double)
                dblTotalMayorPagoPorRecib += CType(Me.dtbInformacion.Rows(i)("MAYOR PAGO POR RECIB").ToString(), Double)
                dblTotalCreHipPorRecOtrBco += CType(Me.dtbInformacion.Rows(i)("CRE HIP POR REC OTR BCO").ToString(), Double)
                dblTotalHipRecibidas += CType(Me.dtbInformacion.Rows(i)("CRE HIP RECIBIDAS").ToString(), Double)
                dblTotalHipPorRecibirBcp += CType(Me.dtbInformacion.Rows(i)("CRE HIP POR RECIBIR BCP").ToString(), Double)
            Next

            drwFila = dtbExportarTotal.NewRow()
            drwFila("Total General") = "TOTAL GENERAL"
            drwFila("PRECIO") = Format(dblTotalPrecio, "#,##0.00")
            drwFila("CTA INICIAL RECIB") = Format(dblTotalCtaInicialRecib, "#,##0.00")
            drwFila("CTA INICIAL POR RECIB") = Format(dblTotalCtaInicialPorRecib, "#,##0.00")
            drwFila("MAYOR PAGO RECIB") = Format(dblTotalMayorPagoRecib, "#,##0.00")
            drwFila("MAYOR PAGO POR RECIB") = Format(dblTotalMayorPagoPorRecib, "#,##0.00")
            drwFila("CRE HIP POR REC OTR BCO") = Format(dblTotalCreHipPorRecOtrBco, "#,##0.00")
            drwFila("CRE HIP RECIBIDAS") = Format(dblTotalHipRecibidas, "#,##0.00")
            drwFila("CRE HIP POR RECIBIR BCP") = Format(dblTotalHipPorRecibirBcp, "#,##0.00")
            dtbExportarTotal.Rows.Add(drwFila)

            Session("ssn_Exportar") = dtbExportar
            Session("ssn_ExportarTotal") = dtbExportarTotal
        End If
    End Sub

    Protected Sub lnkBtnExportar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lnkBtnExportar.Click
        Dim strNombreArchivo As String = "Reporte BCP - Paz Centenario_" & Microsoft.VisualBasic.Right("0" & Date.Now.Day.ToString(), 2) & Microsoft.VisualBasic.Right("0" & Date.Now.Month.ToString(), 2) & Date.Now.Year.ToString()
        Dim strTituloHoja As String = "REPORTE BCP - PAZ CENTENARIO"
        Dim strSubTituloHoja As String = ViewState("vst_subtitulo_2").ToString()

        Dim dtbInformacion As New DataTable
        Dim dtbTotales As New DataTable

        dtbInformacion = Session("ssn_Exportar")
        dtbTotales = Session("ssn_ExportarTotal")

        If dtbInformacion.Rows.Count > 0 Then
            Dim objInfraestructura As New Infraestructura
            Dim strOpcionalCabecera As String = String.Empty

            Dim strSubtitulo3 As String = ViewState("vst_subtitulo_3").ToString()

            strOpcionalCabecera = "<tr><th colspan=""" & dtbInformacion.Columns.Count & """>" & strSubtitulo3 & "</th></tr>"
            objInfraestructura.Exportar_a_excel(strNombreArchivo, strTituloHoja, strSubTituloHoja, dtbInformacion, dtbTotales, strOpcionalCabecera)
        End If
    End Sub

    Protected Sub btnCancelar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Me.ModalPopupExtender.Hide()
    End Sub

End Class
